package com.note.feng.leetcode.algorithms.easy.eleven;

import java.util.Arrays;

public class ThousandHundredEightNine {
    /**
     * 1189. “气球” 的最大数量
     * 简单
     * 120
     * 相关企业
     * 给你一个字符串 text，你需要使用 text 中的字母来拼凑尽可能多的单词 "balloon"（气球）。
     *
     * 字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 "balloon"。
     *
     * 示例 1：
     *
     * 输入：text = "nlaebolko"
     * 输出：1
     * 示例 2：
     *
     * 输入：text = "loonbalxballpoon"
     * 输出：2
     * 示例 3：
     *
     * 输入：text = "leetcode"
     * 输出：0
     *
     * 提示：
     *
     * 1 <= text.length <= 10^4
     * text 全部由小写英文字母组成
     */
    /**
     * 解题：计数
     * 统计 text 中气球 "balloon" 各个字母出现的次数，取最小值
     * 注意：l 和 o ,出现了2次，需要统计后除以2才行
     * @param text
     * @return
     */
    public static int maxNumberOfBalloons(String text) {

        int [] count = new int [5];
        for(int i = 0; i < text.length(); i ++){
            if(text.charAt(i) == 'a'){
                count[0] ++;
            }else if(text.charAt(i) == 'b'){
                count[1] ++;
            }
            else if(text.charAt(i) == 'l'){
                count[2] ++;
            }
            else if(text.charAt(i) == 'o'){
                count[3] ++;
            }
            else if(text.charAt(i) == 'n'){
                count[4] ++;
            }
        }
        System.out.println(Arrays.toString(count));
        count[2] /= 2;
        count[3] /= 2;
        int min = text.length();
        for(int i = 0; i < count.length; i ++){
            min = Math.min(min, count[i]);
        }
        System.out.println(min);
        return min;
    }

    public static void main(String[] args) {
        maxNumberOfBalloons("nlaebolko");
    }
}
